package com.sunyur.tailor.channel.service.inner.product.service;

import com.sunyur.tailor.channel.common.middle.base.ChannelResult;
import com.sunyur.tailor.channel.service.inner.product.model.BaseProductInfoModel;
import com.sunyur.tailor.channel.service.inner.product.model.CategoryModel;
import com.sunyur.tailor.channel.service.inner.product.model.DescProductInfoModel;
import com.sunyur.tailor.channel.service.inner.product.param.CategoryParam;
import com.sunyur.tailor.channel.service.inner.product.param.ProductInfoParam;
import com.sunyur.tailor.channel.service.inner.product.param.ReplaceItemMaterialParam;

import java.util.List;

/***
 * @Author xuhui
 * @Description 商品相关接口
 * @Date 22:54 2021/7/6
 * @Param
 * @return
 **/
public interface SunyurProductService {

    /**
     * @Author xuhui
     * @Description 37-批量获取商品信息(一次查询最大支持查询50条数据)http://doc.sunyur.com/pages/viewpage.action?pageId=236159007
     * @Date 22:56 2021/7/6
     * @Param [productInfoParam]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult<List<BaseProductInfoModel>> getBaseProductInfo(ProductInfoParam productInfoParam);

    /**
     * @Author xuhui
     * @Description 38-批量获取商品详情描述信息(一次查询最大支持查询50条数据)http://doc.sunyur.com/pages/viewpage.action?pageId=236552442
     * @Date 22:56 2021/7/6
     * @Param [productInfoParam]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult<List<DescProductInfoModel>> getDescProductInfo(ProductInfoParam productInfoParam);

    /**
     * @Author XuHui
     * @Description 39-商品批量替换物料(API_WEB非标准接口)
     * @Date 15:56 2021/7/29
     * @Param [replaceIMaterialParam]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult<java.lang.Boolean>
     **/
    ChannelResult<Boolean>  batchReplaceItemMaterial(List<ReplaceItemMaterialParam> replaceItemMaterialParams);

    /**
     * @Author xuhui
     * @Description 32-批量获取商城类目【通过内部商城分类编码】(一次查询最大支持返回100条数据)
     * @Date 22:56 2021/7/6
     * @Param [productInfoParam]
     * @return com.sunyur.tailor.channel.common.middle.base.ChannelResult
     **/
    ChannelResult<List<CategoryModel>> getCategoryBySystemCode(CategoryParam categoryParam);

}
